Skip to content

方法一:Merge

取得遠端資料並更新本地 develop 程式碼,並將 develop 的程式碼合併至新分支中(HEAD 指向新分支的程式碼)

bash
git fetch origin develop
git checkout develop
git merge origin/develop

git checkout <new-branch>
git merge develop

不更新本地 develop 分支,直接與本地分支 origin/develop 合併

bash
git fetch origin develop
git merge origin/develop

方法二:RebaseRebase --onto

1. Rebase

取得遠端資料並更新本地 develop 程式碼,並以 origin/develop 為新的基準點,將新分支所修改的程式碼紀錄接在後面

bash
git fetch origin develop
git checkout develop
git merge origin/develop

# 第一種作法
git checkout <new-branch>
git rebase develop
# 第二種作法
git rebase develop <new-branch>

不更新本地 develop 分支,直接以 origin/develop 為新的基準點,將新分支所修改的程式碼紀錄接在後面

bash
git fetch origin develop
git rebase origin/develop

bash
git pull origin develop --rebase

2. Rebase --onto

取得遠端資料並更新本地 develop 程式碼,將特定範圍(視基準點而定)的提交接在後面

bash
git checkout develop
git pull origin develop

git checkout <new-branch>
git rebase --onto develop <commit>

假如以 branch out 的提交作為基準點,即可達到和 rebase 相同效果


方法三:Cherry-Pick

取得遠端資料並更新本地 develop 程式碼,接著切換到新分枝將 develop 的某些提交紀錄「揀選」到新分枝:

bash
git cherry-pick origin/develop

或是一個一個 commit 搬

bash
git cherry-pick <commit>

以 VitePress 建置,內容以 CC BY-NC-SA 4.0 釋出。